﻿using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.ComponentModel;

namespace ZOIL.DataModel
{
    /// <summary>
    /// Collection to hold objects (persistables) and their VisualProperties
    /// 
    /// !!!Add-Methods must set the ID Properties in <see cref="IPersistable"/> and <see cref="IVisualProperties"/>!!!
    /// 
    /// !!!
    /// </summary>
    public interface IPersistableCollection : ICollection<Tuple<IPersistable, IVisualProperties>>, IPersistsVisualProperties, INotifyCollectionChanged, INotifyPropertyChanged, IDisposable
    {
        string BackendName { get; }
        bool Remove(long id);
    }
}